
package com.feib.soeasy.dao;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.feib.soeasy.model.Group;
import com.feib.soeasy.pagination.PaginatedList;


/**
 * @title (#)Soez5008Dao.java<br>
 * @description <br>
 * @author Jimmy Liu<br>
 * @version 1.0.0 2010/11/25
 * @copyright Far Eastern International Bank Copyright (c) 2010<br>
 * @2011/3/14 create by Jimmy Liu<br>
 */
public interface Soez5008Dao {
	
	public List queryCommissionCode(String channel ,Date qryDateFrom, Date qryDateTo );
	
	public List queryFeedbackLog(String channel ,String code, Date qryDateFrom, Date qryDateTo );
	
//	public List sumChainstoreAmount(String channel ,Date qryDateFrom, Date qryDateTo , String commissionCode, List commissionCodes );
    
    /**
     * @param groupPk
     * @param channel
     * @param qryDateType
     * @param qryDateFrom
     * @param qryDateTo
     * @return
     */
//    public List<Map<String, Object>> getStatisticsForStore(Long groupPk, String channel, Integer qryDateType, Date qryDateFrom, Date qryDateTo);

//	public List queryFeedBackLog(Group group, Date adayS, Date adayE, String channel, String commissionCode);

	/**
	 * 根據通路跟日期 取得  FeedbackLog (可分群組)
	 * @author Jeff
	 */
	public List<Map<String, Object>> queryGroupFeedbackLog(Group group ,String channel ,String code, Date qryDateFrom, Date qryDateTo );

	/**
	 * 根據通路跟日期 取得  CommissionCode (可分群組)
	 * @author Jeff
	 */
	public List<String> queryGroupCommissionCode(Group group ,String channel ,Date qryDateFrom, Date qryDateTo );
	
	/**
	 * 可排序
	 * 根據通路跟日期 取得  FeedbackLog (可分群組)
	 * @author Jeff
	 */
	public PaginatedList<Map<String, Object>> queryGroupFeedbackLog(Group group ,String channel ,String code, Date qryDateFrom, Date qryDateTo , PaginatedList<Map<String, Object>> paginationConfig);
	
	
	/**TODO jeff
	 * 根據畫面傳來的通路 作分類
	 * 
	 * 
	 * */
	public PaginatedList<Map<String, Object>> queryTotalGroupFeedbackLog(Group group ,String[] channel , Date[] qryDateFrom, Date[] qryDateTo , PaginatedList<Map<String, Object>> paginationConfig);

}
